package com.shrct.businessprocess.purchase;

import com.shrct.businessprocess.project.RCProjectMoney;
import com.shrct.businessprocess.project.RCRealMoney;
import com.shrct.businessprocess.purchase.RCBasePurchaseOrder;
import com.shrct.businessprocess.purchase.impl.RCPurchaseOrderInvoiceImpl;
import com.shrct.businessprocess.purchase.proxy.RCPurchaseOrderInvoiceProxy;
import edu.fudan.mylang.pf.EntityImplementation;
import edu.fudan.mylang.pf.IModelObject;
import java.util.Date;

@EntityImplementation(implementBy = RCPurchaseOrderInvoiceImpl.class)
public interface RCPurchaseOrderInvoice extends IModelObject {
  public abstract RCBasePurchaseOrder getPurchaseOrder();
  
  public abstract RCPurchaseOrderInvoice setPurchaseOrder(final RCBasePurchaseOrder purchaseOrder);
  
  public abstract RCProjectMoney getAmount();
  
  public abstract RCPurchaseOrderInvoice setAmount(final RCProjectMoney amount);
  
  public abstract RCRealMoney getRealAmount();
  
  public abstract RCPurchaseOrderInvoice setRealAmount(final RCRealMoney realAmount);
  
  public abstract Date getAcceptDate();
  
  public abstract RCPurchaseOrderInvoice setAcceptDate(final Date acceptDate);
  
  public abstract Double getTaxRate();
  
  public abstract RCPurchaseOrderInvoice setTaxRate(final Double taxRate);
  
  public abstract String getSid();
  
  public abstract RCPurchaseOrderInvoice setSid(final String sid);
  
  public abstract String getComment();
  
  public abstract RCPurchaseOrderInvoice setComment(final String comment);
  
  public abstract RCPurchaseOrderInvoiceProxy toProxy();
}
